﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr" lang="en">

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Content-Language" content="en" />
        <meta name="keywords" content="sparql grammar parser antlr" />
        <link rel="shortcut icon" href="favicon.ico" />
        <link rel="license" href="" />
        <link rel="stylesheet" type="text/css" media="all" href="css/style.css" />
        <title>RDFCoder - Model</title>
    </head>

    <body>
        <div id="container">
            <div id="header">
                <h1>RDFCoder - Model</h1>
            </div>

            <div id="page">
                <!-- START SIDEBAR -->
                <div id="sidebar">
                    <div id="sidebarslidebox">
                        <div>
                            <div class="related">
                                <div>
									<h3>Navigation<h3/>
									<ul>
										<li><a href="index.html">Home</a></li>
									</ul>
                                    <h3>Model</h3>
                                    <ul>
										<li><a href="#rdf_model">The Kabbalah Model</a></li>
										<li><a href="#resource_identifiers">The Resource Identifiers</a></li>
                                    </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <!-- END SIDEBAR -->

                <div id="content">
	
                    <div class="article">
                        <h1 class="firstHeading">The Kabbalah Model</h1>

                        <a name="rdf_model"></a>
                        <p>The Kabbalah Model is the <a href="TODO">ontology</a> behind RDFCoder.</p>
					    <p>
							The figure below shows the <b>Kabbalah</b> model.
							<br/>
							This model represents the <b>RDF Schema</b> used by <b>RDF Coder</b> to represent Java libraries information.
							<br/>
							The name <b>Kabbalah</b> was chosen because after the first drawing the model resembled
							that image representing the <a href="http://www.wikipedia.org/en/kabbalah">Kabbalah</a>.	
						</p>

                        <p><img src="images/rdf_coder_model.jpg"></p>
                    </div>

					<div class="article">
						<h1 class="firstHeading">The Resource Identifiers</h1>
						<a name="resource_identifiers"></a>
					
						<p>
							The Kabbalah model defines resources and relationships among resources.
							Every resource within the model is represented by a resource identifier.
							Almost every resource stored within a model is an Identifier.
						</p>
						<p>	
							The identifiers have a fixed structure that can be represented with the following <i>BNF</I> rules:
								<pre>
									&lt;IDENTIFIER&gt; ::= (&lt;PREFIX&gt; '#')? &lt;SECTIONS&gt;;
									&lt;SECTIONS&gt;   ::= &lt;SECTIONS&gt; '.' &lt;SECTION&gt; | &lt;SECTION&gt;;
									&lt;SECTION&gt; ::= (qualifier ':')? fragment
								</pre>
						</p>	
							Every identifier can have a prefix that, if present, must end with <code>'#'</code>, The identifier is composed
							of a sequence of sections separated by <code>'.'</code>, every section can contain a qualifier and must define a fragment.
							The characters <code>'#' '.' ':'</code> are used to identify the different parts of the identifier, fir this reason
							they cannot be used neither in the prefix nor in qualifiers or fragments.
					
						</p>	
						<p>
							An example of valid identifiers are:
						
							<pre>
								http://www.rdfcoder.org/2007/1.0#jpackage:com.asemantics.rdfcoder.jclass:CoderUtils
								http://www.rdfcoder.org/2007/1.0#jpackage:com.asemantics.rdfcoder.model.jinterface:CodeHandler
							</pre>
						
						</p>
						<p>	
							Within the RDFCoder API, identifiers are represented by the class <code>com.asemantics.rdfcoder.model.Identifier</code>.
							The identifiers can be build using the class <code>com.asemantics.rdfcoder.model.IdentifierBuilder</code> and read using 
							<code>com.asemantics.rdfcoder.model.IdentifierReader</code>.		
					    </p>
				<div>
                <!-- end id content -->

                <div id="footer">
                    <ul>
                        <li>Copyright &copy; 2007 - The <a href="http://code.google.com/p/rdf-coder/">RDF Coder</a> team</li>
                    </ul>
                    <ul>
                        <li>Content is available under <a href="http://path/to/apache/license">Apache License</a> [the Apache License].</li>
                    </ul>
                </div>

            </div>
            <!-- end id page -->

        </div>
        <!-- end id container -->
    </body>

</html>
